package com.jdbc.详解;
//DriverManage详解
/*
* 1.开启事务 setAutoCommit(false)
* 2.提交事务 commit()
* 3.回滚事务 rollback()
* */
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

//JDBC的快速入门
public class ConnectionDemo {
    public static void main(String[] args) throws Exception {
        //1.注册驱动
//        Class.forName("com.mysql.jdbc.Driver");//可以省略不写

        //2.获取连接
        //如果连接的是本机mysql并且端口号未默认的3306，可以简化写
        String url="jdbc:mysql:///db1";//  jdbc:mysql://     +IP地址（域名）    + 数据库的名称
//        String url="jdbc:mysql://localhost/db1";   //         协议      域名localhost也可以
        String username="root";
        String password="root";
        Connection conn=DriverManager.getConnection(url,username,password);

        //3.定义sql
        String sql="UPDATE account SET money=3000 WHERE id=1";
        String sql2="UPDATE account SET money=3000 WHERE id=2";

        //4.获取执行sql的对象Statement
        Statement stmt= conn.createStatement();

        try {//ctrl+alt+t
            //开启事务
            conn.setAutoCommit(false);
            //5.执行sql
            int count= stmt.executeUpdate(sql);

            //6.处理结果
            System.out.println(count);
            int i=3/0;

            //5.执行sql
            int count2= stmt.executeUpdate(sql2);

            //6.处理结果
            System.out.println(count2);

            //提交事务
            conn.commit();
        } catch (Exception e) {
            //回滚事务
            conn.rollback();
            e.printStackTrace();
        }

        //7.释放资源
        stmt.close();
        conn.close();
    }
}